                                                      /* In His Name */
#include "Matrix_util.h"

void AddMatrix(float* a, float* b, float* c, int size) {
  int i,j;
  for(i = 0 ; i < size ; i++) {
    for (j = 0 ; j < size ; j++) {
      c[i*size + j] = a[i*size + j] + b[i*size + j];
    }
  }
}

void SubMatrix(float* a, float* b, float* c, int size) {
  int i,j;
  for(i = 0 ; i < size ; i++) {
    for (j = 0 ; j < size ; j++) {
      c[i*size + j] = a[i*size + j] - b[i*size + j];
    }
  }
}

void NaiveMul(float* a, float* b, float* c, int size) {
  int i, j, k;
  size_t _size = size*size*sizeof(float);
  for(i = 0 ; i < size ; i++) {
    for(k = 0 ; k < size ; k++) {
      for(j = 0 ; j < size ; j++) {
	c[i*size + j] += a[i*size+j]*b[k*size + j];
      }
    }
  }
}


void printMatrix(float* a, int size) {
  int i =0, j =0;
  for (; i < size ; i++) {
    j = 0;
    for(; j < size ; j++) {
      printf("%f ",a[i*size + j]);
    }
    printf("\n");
  }
}

